Programmers routinely need to write sections of software code dealing with data manipulation. Often, that data comes from a file, a database, or any other data storage and specialized code may be needed to access the appropriate data storage. A language may provide tools for opening, reading and/or writing to different data storage formats. Typically, such tools include commands for opening a file, reading all data from the file, and/or writing new data to the file. Once the data from the file has been read into a data structure, a programmer typically has to specify commands for extracting the relevant portions of the data. Such extraction may require knowledge of the particular file format and/or organization of the data within the file.